Technical Field
The present disclosure generally relates to quality of service data collection by a mobile device operating in a wide area network. More particularly, but not exclusively, the present disclosure relates to a background service executing on a mobile device operating in a cellular network wherein the background service is dynamically adapting its data collection tasks to changing network and device conditions.
Description of the Related Art
Mobile devices have been used to capture quality of service data for many years. U.S. Pat. No. 8,160,571 (the '571 patent), issued to the same assignee as the present application, describes software that executes on a mobile device to collect realistic and accurate user quality information. The techniques and mechanisms described in the '571 patent describe data collection techniques designed to limit the degradation of user experience of the mobile device during the data collection process. The '571 patent software operates as a background application, which, in some cases, also includes a user interface, and the software may also be remotely controlled and updated by an external server. U.S. Pat. No. 8,832,258 (the '258 patent), also issued to the same assignee as the present application, describes an external server embodiment that directs a mobile device to collect and communicate realistic and accurate user quality information according to one or more data collection rule sets. The computing server or a data collection server receives, filters, and stores the user quality information provided by the mobile device. Both the '571 patent and the '258 patent are incorporated herein by reference.
FIG. 1 illustrates a known network data collection environment 1. In the environment 1, a first mobile device 2a is operating somewhere within a coverage area 4 of a wide area network 6 (e.g., a cellular network). Other mobile devices 2b, 2c, 2d, . . . 2n are also operating within the coverage area 4 of the wide area network 6. The mobile devices 2a-2n are typically associated with ordinary users. The ordinary users may sign respective contracts for access to voice, data, short message service (SMS) text messages, and other services with a network service provider that administers such services in the wide area network 6. In conjunction with the signed contract, the mobile devices 2a-2n associated with the ordinary users are provisioned for access to the contracted services. Each user may then use their associated mobile device whenever they are within the coverage area 4.
Coverage area 4 illustrates some or all of the areas where wide area network services are offered by a network service provider. Urban areas such as in buildings and streets of a city, suburban areas with residential and light commercial areas, forest areas, mountainous areas, rural areas, highways, streets, and roads are all represented in one form or another in the coverage area 4 serviced by the wide area network 6. The mobile devices, including mobile device 2a, may move in any direction and at any speed within the coverage area 4, and as the mobile devices move, a quality of service (QoS) software application is executing on each mobile device. The QoS software application collects data associated with the wide area network 6.
The QoS software application running on each mobile device may operate autonomously, or the QoS software application may take direction from a particular computing server 8. The computing server 8 includes a data collection portion 8a, and the same or another computing server 8 includes a data control portion 8b. The data control portion 8b directs operations of the QoS software application, and the data collection portion 8a receives QoS data collected by each of the mobile devices 2a-2n. 
As described in the '571 patent and the '258 patent, wide area network may be any wireless network that conforms to a particular protocol. Mobile devices as described herein can collect data from cellular networks that conform to a 3G protocol, a 4G protocol, a 5G protocol, or some other wireless communication network protocol.
Mobile device 2a is illustrated in FIG. 1 with a schedule-based testing methodology 10 illustrated as a flowchart. In FIG. 1, the testing methodology 10 begins at 12 with an inquiry as to whether the device is active or inactive. Since mobile device 2a is a mobile device carried by an ordinary user, the mobile device 2a may be in current use by the user, or the mobile device 2a may be sitting idle in an inactive sleep mode. If mobile device 2a is active, the user may be in a telephone call, passing data across the wide area network 6 (e.g., Internet search, email, gaming, multimedia streaming, and the like), sending a text message, or performing some other function. When mobile device 2a is active at 12, processing falls to 18. Alternatively, when mobile device 2a is inactive at 12, processing falls to the inquiry at 14.
At 14, if a determined amount of time has not yet elapsed, processing will return to the inquiry at 12. In this case, mobile device 2a will return to an inactive sleep mode at 20 or some other mode that was previously in operation prior to the processing at inquiry 12. Alternatively at 14, if the determined amount of time has elapsed, processing will pass to the functions at 16.
At 16, a particular test “N” is performed. In the known embodiment of FIG. 1, mobile device 2a is configured to perform one of three particular tests for each pass through the testing algorithm. The test that is performed may be a data test, a call test, a short message service (SMS) test, or some other test.
In the function processing at 16, “N” is a variable, and with each pass through the algorithm, the variable N is incremented modulo 3. Accordingly, in sequential passes through the algorithm, the variable N will take the value 0, 1, and 2, and one of the three tests will be performed.
A first test that may be performed in the functional processing at 16 may be a data test. The data test may last for a predetermined time such as 30 seconds. The data test is arranged to send and receive test data across the wide area network 6 to and from the data control portion 8b of computing server 8. Mobile device 2a will collect results of the data test, which may include the time it takes for test data to traverse the network in one direction, the other direction, or both directions. Lost packets of test data are noted, and the order in which packets are delivered may also be noted. Data packet routing may be tracked and recorded along with other aspects of data communication through wide area network 6.
A second test that may be performed in the functional processing at 16 may be a phone call test. In a phone call test, one or more test telephone calls may be initiated and maintained from mobile device 2a through wide area network 6 to the data control portion 8b of computing server 8. Dropped calls are recorded, along with the inability to make calls. Other recorded aspects of the call test may include capturing and recording network routing information, cell tower information, backbone infrastructure information, and the like.
A short message service (SMS) test is another test that may be performed in the functional processing at 16. In an SMS test, one or more text messages are sent between mobile 2a and the data control server portion 8b during a 30 second period. The ability to send and receive the text messages, along with other quality aspects associated with text messages, such as the speed of a message through the network, the ability to pass a text message through the network, and any errors in the text message data may also be recorded.
The functional processing at 16 may take a predetermined amount of time, and the testing is arranged to terminate if the user begins to use mobile device 2a. 
In cooperation with functional processing at 16, or if the device was determined to be active at 12, QoS data associated with mobile device 2a and the wide area network 6 is captured at 18. The captured QoS data may be any of the data as indicated herein with respect to particular tests, and the same or similar QoS data may be captured when mobile device 2a is in active use by the user. For example, if the user is engaged in a telephone call and the telephone call is dropped, the testing algorithm may capture a record of the dropped call. In a similar way, other anonymous information associated with quality of service may be captured when the user uses mobile device 2a. 
In association with the functional tests at 16 and the captured data at 18, a location of the mobile device 2a within the coverage area 4 and a timestamp is associated with each datum of the captured data. Processing at 18 ends and mobile device 2a is put into an inactive sleep mode or another mode that the device was previously in at 20. Processing returns to the inquiry at 12.
Generally speaking, the test methodology 10 illustrated in FIG. 1 with respect to mobile device 2a is a schedule-based QoS data collection methodology. When mobile device 2a is not in active use by a user, the device will wake on a predetermined schedule to perform a test, and then the device will go back to a sleep state. The amount of time that mobile device 2a remains in a sleep state before being woken to perform another test may be several seconds, several minutes, or some other amount of time. The regular collection of data in this way allows mobile device 2a to collect a large amount of data on a very regularly scheduled basis.
On a periodic, scheduled, or some other basis, data captured by mobile device 2a is passed through the wide area network 6 to the data collection portion 8a of computing server 8.
All of the subject matter discussed in the Background section is not necessarily prior art and should not be assumed to be prior art merely as a result of its discussion in the Background section. Along these lines, any recognition of problems in the prior art discussed in the Background section or associated with such subject matter should not be treated as prior art unless expressly stated to be prior art. Instead, the discussion of any subject matter in the Background section should be treated as part of the inventor's approach to the particular problem, which in and of itself may also be inventive.